/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package hj4;

/**
 *ALGORITMOS Y ESTRUCTURA DE DATOS
 * SECCION 10
 * CATEDRATICO ING. ROBLES FLORES
 * HOJA DE TRABAJO 4
 *  
 * YUCELY BEB     12537
 * MARCOS LOPEZ    12519
 * VICTOR FUENTES 12298
 */

import java.util.Scanner;
import java.util.*;
import java.io.*;

public class Driverhj4 {
    public static void main (String[] args)throws FileNotFoundException{
        String linea="";//variable para la linea del codigo del archivo
        StringBuffer nlinea;//variable para la linea del codigo del archivo
        Scanner archivo;//objeto tipo scanner para leer archivo
        int largo=0;//variable para largo del StringBuffer
        
       //Postfix logica=new Postfix();//objeto para el control logico
        NumberFormatException g=new NumberFormatException();
       
        Scanner entrada=new Scanner(System.in);
        try{
             archivo=new Scanner (new File("datos.txt"));
             System.out.println("Ingrese numeral para elegir implementación: ");
             System.out.println("1. Stack/Pila");
             System.out.println("2. ArrayList");
             System.out.println("3. Lista Simplemente Encadenada");
             System.out.println("4. Lista Doblemente Encadenada");
             System.out.println("5. Lista Circular");
             
             //el menor es <
             //el mayor es >
             
             String i=entrada.nextLine();
             int a=Integer.parseInt(i);
             if(a<=5 && a>=1){
                 //System.out.println("bien");
                        while(archivo.hasNext()){
                       //leer.Leer();//metodo para extraer las lineas del archivo

                       linea=archivo.nextLine();//se agrega a String la linea actual del archivo
                       nlinea=new StringBuffer(linea);//se agrega a StringBuffer la linea actual del archivo
                       largo=nlinea.length();

                       Factory factory=new Factory(a);

                       Resultado res=factory.getResultado(nlinea);
                        System.out.println(res.getResultado());
                       
                      

                   }
                 
             }else throw g;
             
             
            
            
            
            
        }catch(FileNotFoundException e){
            System.out.println("No se encontro archivo");
        }catch(NumberFormatException r){
            System.out.println("Error en ingreso.");
        }
        
       
        
    }
        
       
       
}
